The seven-layer OSI network model defines a data link layer and a physical (PHY) layer as the two lowest layers. The data link layer encodes and decodes packets into bits and handles errors in the physical layer, flow control, and frame synchronization. The data link layer is divided into a logical link control (LLC) sub-layer and a media access control (MAC) sub-layer. The LLC sub-layer controls frame synchronization, flow control, and error checking. The MAC sub-layer controls how a computer on the network gains access to the data and permission to transmit. The MAC sub-layer provides a set of rules to determine how to access the transmission medium and transmit data. The physical layer, however, is responsible for physically transmitting and receiving the data.
The IEEE 802.11 specification defines a MAC sub-layer and a physical layer for a wireless network. An 802.11 network consists of a distribution system, access points, a wireless medium, and stations. An individual station, such as a laptop computer, gains access to the network by communicating over the wireless medium via an access point (assuming an infrastructure network). The distribution system connects the access points together so that information can flow from a station communicating with one access point to a station communicating with another access point. In order to connect to a network, a station may actively scan for available networks by sending out probe requests. Alternatively, a station may passively tune to different channels waiting for an access point beacon. The station may then compile a report of networks and may elect to join one of the networks. Once the station elects to join a network, it authenticates itself to the network and then associates with an access point of the network. (Many 802.11 networks allow any station with access to the network to be authenticated prior to association referred to as “open authentication,” but require additional authentication after association by using, for example, an extensible authentication protocol (“EAP”)). Each station “associates” with one access point through which it gains access to the network. In the process of associating, the unique MAC address of the station is recorded with the access point so that the distribution network knows through which access point to route data destined for the station. Since stations connected to a wireless network may be mobile, a station will need to associate with a new access point when it moves out of range of the access point to which it is currently associated (or for some other reason wants to associate with another access point). A station that moves out of range of its associated access point sends a request to associate with a new access point and receives the identification of the new access point with which to associate in response. The distribution system ensures that the transmission of data occurs seamlessly as stations re-associate with new access points.
At least one operating system currently provides a native wireless framework for connecting to wireless networks such as an 802.11 network. The native wireless framework provides capabilities to identify available wireless networks and select an appropriate wireless network for joining. Once associated with an access point of a network, the native wireless framework controls the communications over the wireless network. When a computing device with such an operating system is moved from location-to-location (i.e., roams), the native wireless framework from time-to-time associates with an appropriate access point of the wireless network. A native wireless framework is described in U.S. patent application Ser. No. 10/306,169, entitled “Native WiFi Architecture for 802.11 Networks” and filed on Nov. 27, 2002, which is hereby incorporated by references.
The developer of a native wireless framework may try to include as many capabilities as the wireless network industry may need at the time. The wireless network industry is, however, rapidly evolving. New capabilities driven by new standards or innovations are constantly being developed by independent hardware vendors (“IHVs”) and independent software vendors (“ISVs”). These developments may occur at a much faster pace than the release of new versions of the operating system. As a result, when vendors want to use capabilities of a wireless network that are not currently supported by an operating system, they typically develop a monolithic implementation that subsumes some or all of the capabilities of the native wireless framework or any other wireless framework. Because each vendor provides its own implementation, the implementations are often inconsistent with each other. This inconsistency makes it difficult for users to take advantage of these new capabilities. Moreover, these monolithic implementations may not integrate well, or at all, with the native wireless framework. As a result, advanced capabilities of the native wireless framework, such as diagnostics, cannot interface with the monolithic implementations. Such advanced capabilities thus appear to the users to not be functioning as intended or do not operate in a consistent or diagnosable way. In addition, these monolithic implementations do not take advantage of the capabilities of the native wireless framework and may duplicate such capabilities.
It would be desirable to have a wireless framework that would allow vendors to develop new capabilities at their own pace while not hindering the overall capabilities of the native wireless framework.